org.eclipse.vtp.framework.interactions.voice.vxml
Class Subdialog

java.lang.Object
  extended by org.eclipse.vtp.framework.interactions.core.support.Widget
      extended by org.eclipse.vtp.framework.interactions.voice.vxml.FormElement
          extended by org.eclipse.vtp.framework.interactions.voice.vxml.Subdialog
All Implemented Interfaces:
VXMLConstants

public class Subdialog
extends FormElement

The Subdialog class represents the <subdialog> VXML element. From VXML 2.0 Proposed Recommendation 3:

 The <subdialog> element invokes a 'called' dialog (known as the subdialog)
 identified by its src or srcexpr attribute in the 'calling' dialog. The
 subdialog executes in a new execution context that includes all the
 declarations and state information for the subdialog, the subdialog�s
 document, and the subdialog�s application root (if present), with counters
 reset, and variables initialized. The subdialog proceeds until the execution
 of a <return> or <exit> element, or until no form items remain eligible for
 the FIA to select (equivalent to an <exit>). A <return> element causes
 control and data to be returned to the calling dialog (Section 5.3.10). When
 the subdialog returns, its execution context is deleted, and execution
 resumes in the calling dialog with any appropriate <filled> elements.
 

Version:
2.0
Author:
Trip Gilman, Lonnie Pryor

Field Summary
 
Fields inherited from interface org.eclipse.vtp.framework.interactions.voice.vxml.VXMLConstants
EMPTY, FILE_EXT_GSL, FILLED_MODE_ALL, FILLED_MODE_ANY, GRAMMAR_MODE_DTMF, GRAMMAR_MODE_VOICE, METHOD_GET, METHOD_POST, MIME_TYPE_GSL, MIME_TYPE_SRGS, NAME_APPLICATION, NAME_ASSIGN, NAME_AUDIO, NAME_BARGEIN, NAME_BEEP, NAME_BLOCK, NAME_BRIDGE, NAME_CATCH, NAME_CHOICE, NAME_COMPLETETIMEOUT, NAME_COND, NAME_CONFIDENCELEVEL, NAME_COUNT, NAME_DEST, NAME_DISCONNECT, NAME_DTMF, NAME_DTMFTERM, NAME_ELSE, NAME_ELSEIF, NAME_ENCTYPE, NAME_ENUMERATE, NAME_ERROR, NAME_EVENT, NAME_EVENTEXPR, NAME_EXIT, NAME_EXPR, NAME_FIELD, NAME_FILLED, NAME_FINALSILENCE, NAME_FORM, NAME_GOTO, NAME_GRAMMAR, NAME_ID, NAME_IF, NAME_INCOMPLETETIMEOUT, NAME_INPUTMODES, NAME_INTERDIGITTIMEOUT, NAME_ITEM, NAME_MAXNBEST, NAME_MAXSPEECHTIMEOUT, NAME_MAXTIME, NAME_MENU, NAME_METHOD, NAME_MODE, NAME_NAME, NAME_NAMELIST, NAME_NEXT, NAME_NOINPUT, NAME_NOMATCH, NAME_ONE_OF, NAME_OPTION, NAME_PARAM, NAME_PROMPT, NAME_PROPERTY, NAME_RECORD, NAME_REPEAT, NAME_REPROMPT, NAME_RETURN, NAME_ROOT, NAME_RULE, NAME_SCOPE, NAME_SCRIPT, NAME_SENSITIVITY, NAME_SPEEDVSACCURACY, NAME_SRC, NAME_SUBDIALOG, NAME_SUBMIT, NAME_TERMCHAR, NAME_TERMTIMEOUT, NAME_THROW, NAME_TIMEOUT, NAME_TRANSFER, NAME_TYPE, NAME_VALUE, NAME_VAR, NAME_VERSION, NAME_VXML, NAMESPACE_URI_VXML, QNAME_XML_LANG, SCOPE_DIALOG, SCOPE_DOCUMENT, TYPE_CDATA, VERSION_2_0
 
Constructor Summary
Subdialog(java.lang.String name)
          Creates a new instance of Subdialog with the specified name.
Subdialog(java.lang.String name, java.lang.String expression)
          Creates a new instance of Subdialog with the specified name and an expression that evaluates to the subdialog's initial value.
Subdialog(java.lang.String name, java.lang.String expression, java.lang.String condition)
          Creates a new instance of Subdialog with the specified name, initial value derived from evaluating the expression, and condition that must be true for the subdialog to be visited.
Subdialog(java.lang.String name, java.lang.String expression, java.lang.String condition, java.lang.String sourceURI)
          Creates a new instance of Subdialog with the specified name, initial value derived from evaluating the expression, condition that must be true for the subdialog to be visited, and source URI.
 
Method Summary
 void addEventHandler(EventHandler eventHandler)
          Adds the specified event handler to this subdialog.
 void addFilledHandler(Filled filled)
          Adds the specified filled handler to this subdialog.
 void addParameter(Parameter parameter)
          Adds the specified parameter to the set of parameters for this subdialog.
 java.lang.String getSourceURI()
          Returns the URI of the document that contains the target dialog.
 void removeEventHandler(EventHandler eventHandler)
          Removes the specified event handler from this subdialog.
 void removeFilledHandler(Filled filled)
          Removes the specified filled handler from this subdialog.
 void removeParameter(Parameter parameter)
          Removes the specified parameter from the set of parameters for this subdialog.
 void setSourceURI(java.lang.String sourceURI)
          Sets the URI of the document that contains the target dialog.
protected  void writeAttributes(org.xml.sax.helpers.AttributesImpl attributes)
          Write the attribute members of this form element to the supplied set.
protected  void writeEventHandlers(org.xml.sax.ContentHandler outputHandler)
          Write the event handlers of this subdialog to the specified content handler.
protected  void writeFilledHandlers(org.xml.sax.ContentHandler outputHandler)
          Write the filled handlers of this subdialog to the specified content handler.
protected  void writeParameters(org.xml.sax.ContentHandler outputHandler)
          Write the parameters in this subdialog to the specified content handler.
 void writeWidget(org.xml.sax.ContentHandler outputHandler)
          Writes the content of this widget to an XML content handler.
 
Methods inherited from class org.eclipse.vtp.framework.interactions.voice.vxml.FormElement
getCondition, getExpression, getName, setCondition, setExpression, setName
 
Methods inherited from class org.eclipse.vtp.framework.interactions.core.support.Widget
toString, writeAttribute, writeChildren, writeChildren, writeWidget, writeWidget
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Subdialog

public Subdialog(java.lang.String name)
          throws java.lang.IllegalArgumentException,
                 java.lang.NullPointerException
Creates a new instance of Subdialog with the specified name.

Parameters:
name - The name of the subdialog.
Throws:
java.lang.IllegalArgumentException - If the specified name is empty.
java.lang.NullPointerException - If the specified name is null.

Subdialog

public Subdialog(java.lang.String name,
                 java.lang.String expression)
          throws java.lang.IllegalArgumentException,
                 java.lang.NullPointerException
Creates a new instance of Subdialog with the specified name and an expression that evaluates to the subdialog's initial value.

Parameters:
name - The name of the subdialog.
expression - Evaluates to the subdialog's initial value.
Throws:
java.lang.IllegalArgumentException - If the specified name is empty.
java.lang.IllegalArgumentException - If the specified expression is empty.
java.lang.NullPointerException - If the specified name is null.

Subdialog

public Subdialog(java.lang.String name,
                 java.lang.String expression,
                 java.lang.String condition)
          throws java.lang.IllegalArgumentException,
                 java.lang.NullPointerException
Creates a new instance of Subdialog with the specified name, initial value derived from evaluating the expression, and condition that must be true for the subdialog to be visited.

Parameters:
name - The name of the subdialog.
expression - Evaluates to the subdialog's initial value.
condition - Determines if this subdialog will be visited.
Throws:
java.lang.IllegalArgumentException - If the specified name is empty.
java.lang.IllegalArgumentException - If the specified expression is empty.
java.lang.IllegalArgumentException - If the specified condition is empty.
java.lang.NullPointerException - If the specified name is null.

Subdialog

public Subdialog(java.lang.String name,
                 java.lang.String expression,
                 java.lang.String condition,
                 java.lang.String sourceURI)
          throws java.lang.IllegalArgumentException,
                 java.lang.NullPointerException
Creates a new instance of Subdialog with the specified name, initial value derived from evaluating the expression, condition that must be true for the subdialog to be visited, and source URI.

Parameters:
name - The name of the subdialog.
expression - Evaluates to the subdialog's initial value.
condition - Determines if this subdialog will be visited.
sourceURI - URI of the document that contains the target dialog.
Throws:
java.lang.IllegalArgumentException - If the specified name is empty.
java.lang.IllegalArgumentException - If the specified expression is empty.
java.lang.IllegalArgumentException - If the specified condition is empty.
java.lang.IllegalArgumentException - If the specified URI is empty.
java.lang.NullPointerException - If the specified name is null.
Method Detail

getSourceURI

public java.lang.String getSourceURI()
Returns the URI of the document that contains the target dialog.

Returns:
URI of the target document.

setSourceURI

public void setSourceURI(java.lang.String sourceURI)
                  throws java.lang.IllegalArgumentException
Sets the URI of the document that contains the target dialog.

Parameters:
sourceURI - URI of the new target document.
Throws:
java.lang.IllegalArgumentException - If the specified URI is empty.

addParameter

public void addParameter(Parameter parameter)
                  throws java.lang.NullPointerException
Adds the specified parameter to the set of parameters for this subdialog.

Parameters:
parameter - The parameter to add.
Throws:
java.lang.NullPointerException - If the supplied parameter is null.

removeParameter

public void removeParameter(Parameter parameter)
                     throws java.lang.NullPointerException
Removes the specified parameter from the set of parameters for this subdialog.

Parameters:
parameter - The parameter to remove.
Throws:
java.lang.NullPointerException - If the supplied parameter is null.

addFilledHandler

public void addFilledHandler(Filled filled)
                      throws java.lang.NullPointerException
Adds the specified filled handler to this subdialog. The filled handlers will be executed in the order they were added.

Parameters:
filled - The filled handler to be added.
Throws:
java.lang.NullPointerException - If the supplied filled handler is null.

removeFilledHandler

public void removeFilledHandler(Filled filled)
                         throws java.lang.NullPointerException
Removes the specified filled handler from this subdialog.

Parameters:
filled - The filled handler to be removed.
Throws:
java.lang.NullPointerException - If the supplied filled handler is null.

addEventHandler

public void addEventHandler(EventHandler eventHandler)
                     throws java.lang.NullPointerException
Adds the specified event handler to this subdialog. The event handlers are evaluated in the order they were added.

Parameters:
eventHandler - The event handler to add.
Throws:
java.lang.NullPointerException - If the supplied event handler is null.

removeEventHandler

public void removeEventHandler(EventHandler eventHandler)
                        throws java.lang.NullPointerException
Removes the specified event handler from this subdialog.

Parameters:
eventHandler - The event handler to remove.
Throws:
java.lang.NullPointerException - If the supplied event handler is null.

writeWidget

public void writeWidget(org.xml.sax.ContentHandler outputHandler)
                 throws java.lang.NullPointerException,
                        org.xml.sax.SAXException
Description copied from class: Widget
Writes the content of this widget to an XML content handler.

Specified by:
writeWidget in class Widget
Parameters:
outputHandler - The handler to write this widget to.
Throws:
java.lang.NullPointerException - If the supplied content handler is null.
org.xml.sax.SAXException - If the writing of this widget fails.

writeAttributes

protected void writeAttributes(org.xml.sax.helpers.AttributesImpl attributes)
Description copied from class: FormElement
Write the attribute members of this form element to the supplied set.

Overrides:
writeAttributes in class FormElement
Parameters:
attributes - The attribute set to write to.

writeParameters

protected void writeParameters(org.xml.sax.ContentHandler outputHandler)
                        throws java.lang.NullPointerException,
                               org.xml.sax.SAXException
Write the parameters in this subdialog to the specified content handler.

Parameters:
outputHandler - The content handler to write to.
Throws:
java.lang.NullPointerException - If the supplied content handler is null.
org.xml.sax.SAXException - If the writing of one of the parameters fails.

writeFilledHandlers

protected void writeFilledHandlers(org.xml.sax.ContentHandler outputHandler)
                            throws java.lang.NullPointerException,
                                   org.xml.sax.SAXException
Write the filled handlers of this subdialog to the specified content handler.

Parameters:
outputHandler - The content handler to write to.
Throws:
java.lang.NullPointerException - If the supplied content handler is null.
org.xml.sax.SAXException - If the writing of one of the filled handlers fails.

writeEventHandlers

protected void writeEventHandlers(org.xml.sax.ContentHandler outputHandler)
                           throws java.lang.NullPointerException,
                                  org.xml.sax.SAXException
Write the event handlers of this subdialog to the specified content handler.

Parameters:
outputHandler - The content handler to write to.
Throws:
java.lang.NullPointerException - If the supplied content handler is null.
org.xml.sax.SAXException - If the writing of one of the event handlers fails.